// 定义一个检测权限指令，用于实现按钮级权限

// 权限指令的映射
const TYPES = {
  query: 0, // 查询
  add: 1, // 添加
  delete: 2, // 删除
  update: 4 // 更新
}
export default {
  // 当被绑定的元素插入到 DOM 时
  inserted (el, binding) {
    // binding.arg指令的参数
    const arg = binding.arg // 需要检测的权限类型 delete
    const opt = TYPES[arg] // opt为arg在TYPES对象中对应的值（权限）
    const route = binding.value // 获取当前访问的路由
    console.log('这是v-has指令', route)
    // 检测路由中是否有opt权限
    if (!(route.matched.some(item => item.meta.scope && item.meta.scope.includes(opt)))) {
      console.log('已经检测没有权限')
      el.parentNode.removeChild(el)
    }
  }
}
